package com.zjwd.system.service;

import com.zjwd.common.core.domain.model.LoginUser;
import com.zjwd.system.domain.SysUserOnline;

/**
 * 在线用户 服务层
 *
 * @author liquan
 */
public interface ISysUserOnlineService {
    /**
     * 通过登录地址查询信息
     *
     * @param ip 登录地址
     * @param user   用户信息
     * @return 在线用户信息
     */
    public SysUserOnline selectOnlineByIp(String ip, LoginUser user);

    /**
     * 通过用户名称查询信息
     *
     * @param userAccount 用户账号
     * @param user     用户信息
     * @return 在线用户信息
     */
    public SysUserOnline selectOnlineByUserAccount(String userAccount, LoginUser user);

    /**
     * 通过登录地址/用户名称查询信息
     *
     * @param ip   登录地址
     * @param userAccount 用户账号
     * @param user     用户信息
     * @return 在线用户信息
     */
    public SysUserOnline selectOnlineByInfo(String ip, String userAccount, LoginUser user);

    /**
     * 设置在线用户信息
     *
     * @param user 用户信息
     * @return 在线用户
     */
    public SysUserOnline loginUserToUserOnline(LoginUser user);
}
